package DataStructure.queue;

import java.util.ArrayList;
import java.util.List;

public class IntegerQueue implements Queue{
    private int head;
    private int tail;
    private int length;
    private List<Integer> queue;

    public IntegerQueue( ){
        this.head = 0;
        this.tail = 0;
        this.length = 0;
        this.queue = new ArrayList<>();
    }

    @Override
    public List<Integer> getQueue() {
       return this.queue;
    }

    @Override
    public int getHead() {
        return head;
    }

    @Override
    public int getTail() {
        return tail;
    }

    @Override
    public int getLength() {
        return length;
    }

    @Override
    public void Dequeue(int e){
        queue.add(e);
        this.length++;
        this.tail++;
    }

    @Override
    public void Enqueue() {
        this.head++;
    }
}
